home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / aztecnos.arc / PKVEC.ASM < prev    next >
Encoding:
Assembly Source File  |  1988-10-23  |  900 b   |  63 lines

  1.     include lmacros.h
  2.  
  3.     assume    ds:dataseg
  4.     assume    cs:codeseg
  5.  
  6.     ifdef    FARPROC
  7.     extrn    pkint_:far
  8.     else
  9.     extrn    pkint_:near
  10.     endif
  11.     extrn    _Dorg_:byte
  12.     public    Intstk_
  13.  
  14. codeseg    segment
  15. sssave    dw    0
  16. spsave    dw    0
  17. dbase    dw    seg _Dorg_
  18.  
  19. ; pkvec - Packet driver receive call handler
  20.     public    pkvec_
  21. pkvec_ proc    far
  22.     pushf            ; save his interrupt state
  23.     cli            ; no distractions
  24.     mov    cs:sssave,ss    ; Save his stack
  25.     mov    cs:spsave,sp
  26.  
  27.     mov    ss,cs:dbase    ; switch to our own
  28.     lea    sp,Intstk_+512
  29.  
  30.     push    es    ; save regs, making them available to pkint()
  31.     push    ds
  32.     push    ax
  33.     push    bx
  34.     push    cx
  35.     push    dx
  36.     push    bp
  37.     push    si
  38.     push    di
  39.  
  40.     mov    ds,cs:dbase
  41.     mov    es,cs:dbase
  42.     call    pkint_
  43.  
  44.     pop    di
  45.     pop    si
  46.     pop    bp
  47.     pop    dx
  48.     pop    cx
  49.     pop    bx
  50.     pop    ax
  51.     pop    ds
  52.     pop    es
  53.  
  54.     ; Restore his stack and interrupt state
  55.     mov    ss,cs:sssave
  56.     mov    sp,cs:spsave
  57.     popf
  58.     ret
  59. pkvec_    endp
  60. codeseg    ends
  61.  
  62.     end
  63.